/**
 * Copyright (c) 2000-2012 Liferay, Inc. All rights reserved.
 *
 * This library is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Lesser General Public License as published by the Free
 * Software Foundation; either version 2.1 of the License, or (at your option)
 * any later version.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
 * details.
 */

package slcu.model.impl;

import com.liferay.portal.kernel.bean.AutoEscapeBeanHandler;
import com.liferay.portal.kernel.util.GetterUtil;
import com.liferay.portal.kernel.util.ProxyUtil;
import com.liferay.portal.kernel.util.StringBundler;
import com.liferay.portal.kernel.util.StringPool;
import com.liferay.portal.model.CacheModel;
import com.liferay.portal.model.impl.BaseModelImpl;
import com.liferay.portal.service.ServiceContext;

import com.liferay.portlet.expando.model.ExpandoBridge;
import com.liferay.portlet.expando.util.ExpandoBridgeFactoryUtil;

import slcu.model.Alumno;
import slcu.model.AlumnoModel;

import java.io.Serializable;

import java.sql.Types;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;

/**
 * The base model implementation for the Alumno service. Represents a row in the &quot;SLCU_Alumnos&quot; database table, with each column mapped to a property of this class.
 *
 * <p>
 * This implementation and its corresponding interface {@link slcu.model.AlumnoModel} exist only as a container for the default property accessors generated by ServiceBuilder. Helper methods and all application logic should be put in {@link AlumnoImpl}.
 * </p>
 *
 * @author tito
 * @see AlumnoImpl
 * @see slcu.model.Alumno
 * @see slcu.model.AlumnoModel
 * @generated
 */
public class AlumnoModelImpl extends BaseModelImpl<Alumno>
	implements AlumnoModel {
	/*
	 * NOTE FOR DEVELOPERS:
	 *
	 * Never modify or reference this class directly. All methods that expect a Alumno model instance should use the {@link slcu.model.Alumno} interface instead.
	 */
	public static final String TABLE_NAME = "SLCU_Alumnos";
	public static final Object[][] TABLE_COLUMNS = {
			{ "alumnoId", Types.BIGINT },
			{ "escuelaId", Types.BIGINT },
			{ "nombres", Types.VARCHAR },
			{ "apellido", Types.VARCHAR },
			{ "dni", Types.VARCHAR },
			{ "cue", Types.VARCHAR },
			{ "cue_anexo", Types.VARCHAR },
			{ "etapa_real", Types.VARCHAR },
			{ "ano_inicial", Types.INTEGER },
			{ "seccion", Types.VARCHAR },
			{ "fecha_nacimiento", Types.TIMESTAMP }
		};
	public static final String TABLE_SQL_CREATE = "create table SLCU_Alumnos (alumnoId LONG not null primary key,escuelaId LONG,nombres VARCHAR(75) null,apellido VARCHAR(75) null,dni VARCHAR(75) null,cue VARCHAR(75) null,cue_anexo VARCHAR(75) null,etapa_real VARCHAR(75) null,ano_inicial INTEGER,seccion VARCHAR(75) null,fecha_nacimiento DATE null)";
	public static final String TABLE_SQL_DROP = "drop table SLCU_Alumnos";
	public static final String ORDER_BY_JPQL = " ORDER BY alumno.dni ASC";
	public static final String ORDER_BY_SQL = " ORDER BY SLCU_Alumnos.dni ASC";
	public static final String DATA_SOURCE = "liferayDataSource";
	public static final String SESSION_FACTORY = "liferaySessionFactory";
	public static final String TX_MANAGER = "liferayTransactionManager";
	public static final boolean ENTITY_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.util.service.ServiceProps.get(
				"value.object.entity.cache.enabled.slcu.model.Alumno"), true);
	public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.util.service.ServiceProps.get(
				"value.object.finder.cache.enabled.slcu.model.Alumno"), true);
	public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil.getBoolean(com.liferay.util.service.ServiceProps.get(
				"value.object.column.bitmask.enabled.slcu.model.Alumno"), true);
	public static long DNI_COLUMN_BITMASK = 1L;
	public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.util.service.ServiceProps.get(
				"lock.expiration.time.slcu.model.Alumno"));

	public AlumnoModelImpl() {
	}

	public long getPrimaryKey() {
		return _alumnoId;
	}

	public void setPrimaryKey(long primaryKey) {
		setAlumnoId(primaryKey);
	}

	public Serializable getPrimaryKeyObj() {
		return new Long(_alumnoId);
	}

	public void setPrimaryKeyObj(Serializable primaryKeyObj) {
		setPrimaryKey(((Long)primaryKeyObj).longValue());
	}

	public Class<?> getModelClass() {
		return Alumno.class;
	}

	public String getModelClassName() {
		return Alumno.class.getName();
	}

	@Override
	public Map<String, Object> getModelAttributes() {
		Map<String, Object> attributes = new HashMap<String, Object>();

		attributes.put("alumnoId", getAlumnoId());
		attributes.put("escuelaId", getEscuelaId());
		attributes.put("nombres", getNombres());
		attributes.put("apellido", getApellido());
		attributes.put("dni", getDni());
		attributes.put("cue", getCue());
		attributes.put("cue_anexo", getCue_anexo());
		attributes.put("etapa_real", getEtapa_real());
		attributes.put("ano_inicial", getAno_inicial());
		attributes.put("seccion", getSeccion());
		attributes.put("fecha_nacimiento", getFecha_nacimiento());

		return attributes;
	}

	@Override
	public void setModelAttributes(Map<String, Object> attributes) {
		Long alumnoId = (Long)attributes.get("alumnoId");

		if (alumnoId != null) {
			setAlumnoId(alumnoId);
		}

		Long escuelaId = (Long)attributes.get("escuelaId");

		if (escuelaId != null) {
			setEscuelaId(escuelaId);
		}

		String nombres = (String)attributes.get("nombres");

		if (nombres != null) {
			setNombres(nombres);
		}

		String apellido = (String)attributes.get("apellido");

		if (apellido != null) {
			setApellido(apellido);
		}

		String dni = (String)attributes.get("dni");

		if (dni != null) {
			setDni(dni);
		}

		String cue = (String)attributes.get("cue");

		if (cue != null) {
			setCue(cue);
		}

		String cue_anexo = (String)attributes.get("cue_anexo");

		if (cue_anexo != null) {
			setCue_anexo(cue_anexo);
		}

		String etapa_real = (String)attributes.get("etapa_real");

		if (etapa_real != null) {
			setEtapa_real(etapa_real);
		}

		Integer ano_inicial = (Integer)attributes.get("ano_inicial");

		if (ano_inicial != null) {
			setAno_inicial(ano_inicial);
		}

		String seccion = (String)attributes.get("seccion");

		if (seccion != null) {
			setSeccion(seccion);
		}

		Date fecha_nacimiento = (Date)attributes.get("fecha_nacimiento");

		if (fecha_nacimiento != null) {
			setFecha_nacimiento(fecha_nacimiento);
		}
	}

	public long getAlumnoId() {
		return _alumnoId;
	}

	public void setAlumnoId(long alumnoId) {
		_alumnoId = alumnoId;
	}

	public long getEscuelaId() {
		return _escuelaId;
	}

	public void setEscuelaId(long escuelaId) {
		_escuelaId = escuelaId;
	}

	public String getNombres() {
		if (_nombres == null) {
			return StringPool.BLANK;
		}
		else {
			return _nombres;
		}
	}

	public void setNombres(String nombres) {
		_nombres = nombres;
	}

	public String getApellido() {
		if (_apellido == null) {
			return StringPool.BLANK;
		}
		else {
			return _apellido;
		}
	}

	public void setApellido(String apellido) {
		_apellido = apellido;
	}

	public String getDni() {
		if (_dni == null) {
			return StringPool.BLANK;
		}
		else {
			return _dni;
		}
	}

	public void setDni(String dni) {
		_columnBitmask = -1L;

		if (_originalDni == null) {
			_originalDni = _dni;
		}

		_dni = dni;
	}

	public String getOriginalDni() {
		return GetterUtil.getString(_originalDni);
	}

	public String getCue() {
		if (_cue == null) {
			return StringPool.BLANK;
		}
		else {
			return _cue;
		}
	}

	public void setCue(String cue) {
		_cue = cue;
	}

	public String getCue_anexo() {
		if (_cue_anexo == null) {
			return StringPool.BLANK;
		}
		else {
			return _cue_anexo;
		}
	}

	public void setCue_anexo(String cue_anexo) {
		_cue_anexo = cue_anexo;
	}

	public String getEtapa_real() {
		if (_etapa_real == null) {
			return StringPool.BLANK;
		}
		else {
			return _etapa_real;
		}
	}

	public void setEtapa_real(String etapa_real) {
		_etapa_real = etapa_real;
	}

	public int getAno_inicial() {
		return _ano_inicial;
	}

	public void setAno_inicial(int ano_inicial) {
		_ano_inicial = ano_inicial;
	}

	public String getSeccion() {
		if (_seccion == null) {
			return StringPool.BLANK;
		}
		else {
			return _seccion;
		}
	}

	public void setSeccion(String seccion) {
		_seccion = seccion;
	}

	public Date getFecha_nacimiento() {
		return _fecha_nacimiento;
	}

	public void setFecha_nacimiento(Date fecha_nacimiento) {
		_fecha_nacimiento = fecha_nacimiento;
	}

	public long getColumnBitmask() {
		return _columnBitmask;
	}

	@Override
	public ExpandoBridge getExpandoBridge() {
		return ExpandoBridgeFactoryUtil.getExpandoBridge(0,
			Alumno.class.getName(), getPrimaryKey());
	}

	@Override
	public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
		ExpandoBridge expandoBridge = getExpandoBridge();

		expandoBridge.setAttributes(serviceContext);
	}

	@Override
	public Alumno toEscapedModel() {
		if (_escapedModelProxy == null) {
			_escapedModelProxy = (Alumno)ProxyUtil.newProxyInstance(_classLoader,
					_escapedModelProxyInterfaces,
					new AutoEscapeBeanHandler(this));
		}

		return _escapedModelProxy;
	}

	@Override
	public Object clone() {
		AlumnoImpl alumnoImpl = new AlumnoImpl();

		alumnoImpl.setAlumnoId(getAlumnoId());
		alumnoImpl.setEscuelaId(getEscuelaId());
		alumnoImpl.setNombres(getNombres());
		alumnoImpl.setApellido(getApellido());
		alumnoImpl.setDni(getDni());
		alumnoImpl.setCue(getCue());
		alumnoImpl.setCue_anexo(getCue_anexo());
		alumnoImpl.setEtapa_real(getEtapa_real());
		alumnoImpl.setAno_inicial(getAno_inicial());
		alumnoImpl.setSeccion(getSeccion());
		alumnoImpl.setFecha_nacimiento(getFecha_nacimiento());

		alumnoImpl.resetOriginalValues();

		return alumnoImpl;
	}

	public int compareTo(Alumno alumno) {
		int value = 0;

		value = getDni().compareTo(alumno.getDni());

		if (value != 0) {
			return value;
		}

		return 0;
	}

	@Override
	public boolean equals(Object obj) {
		if (obj == null) {
			return false;
		}

		Alumno alumno = null;

		try {
			alumno = (Alumno)obj;
		}
		catch (ClassCastException cce) {
			return false;
		}

		long primaryKey = alumno.getPrimaryKey();

		if (getPrimaryKey() == primaryKey) {
			return true;
		}
		else {
			return false;
		}
	}

	@Override
	public int hashCode() {
		return (int)getPrimaryKey();
	}

	@Override
	public void resetOriginalValues() {
		AlumnoModelImpl alumnoModelImpl = this;

		alumnoModelImpl._originalDni = alumnoModelImpl._dni;

		alumnoModelImpl._columnBitmask = 0;
	}

	@Override
	public CacheModel<Alumno> toCacheModel() {
		AlumnoCacheModel alumnoCacheModel = new AlumnoCacheModel();

		alumnoCacheModel.alumnoId = getAlumnoId();

		alumnoCacheModel.escuelaId = getEscuelaId();

		alumnoCacheModel.nombres = getNombres();

		String nombres = alumnoCacheModel.nombres;

		if ((nombres != null) && (nombres.length() == 0)) {
			alumnoCacheModel.nombres = null;
		}

		alumnoCacheModel.apellido = getApellido();

		String apellido = alumnoCacheModel.apellido;

		if ((apellido != null) && (apellido.length() == 0)) {
			alumnoCacheModel.apellido = null;
		}

		alumnoCacheModel.dni = getDni();

		String dni = alumnoCacheModel.dni;

		if ((dni != null) && (dni.length() == 0)) {
			alumnoCacheModel.dni = null;
		}

		alumnoCacheModel.cue = getCue();

		String cue = alumnoCacheModel.cue;

		if ((cue != null) && (cue.length() == 0)) {
			alumnoCacheModel.cue = null;
		}

		alumnoCacheModel.cue_anexo = getCue_anexo();

		String cue_anexo = alumnoCacheModel.cue_anexo;

		if ((cue_anexo != null) && (cue_anexo.length() == 0)) {
			alumnoCacheModel.cue_anexo = null;
		}

		alumnoCacheModel.etapa_real = getEtapa_real();

		String etapa_real = alumnoCacheModel.etapa_real;

		if ((etapa_real != null) && (etapa_real.length() == 0)) {
			alumnoCacheModel.etapa_real = null;
		}

		alumnoCacheModel.ano_inicial = getAno_inicial();

		alumnoCacheModel.seccion = getSeccion();

		String seccion = alumnoCacheModel.seccion;

		if ((seccion != null) && (seccion.length() == 0)) {
			alumnoCacheModel.seccion = null;
		}

		Date fecha_nacimiento = getFecha_nacimiento();

		if (fecha_nacimiento != null) {
			alumnoCacheModel.fecha_nacimiento = fecha_nacimiento.getTime();
		}
		else {
			alumnoCacheModel.fecha_nacimiento = Long.MIN_VALUE;
		}

		return alumnoCacheModel;
	}

	@Override
	public String toString() {
		StringBundler sb = new StringBundler(23);

		sb.append("{alumnoId=");
		sb.append(getAlumnoId());
		sb.append(", escuelaId=");
		sb.append(getEscuelaId());
		sb.append(", nombres=");
		sb.append(getNombres());
		sb.append(", apellido=");
		sb.append(getApellido());
		sb.append(", dni=");
		sb.append(getDni());
		sb.append(", cue=");
		sb.append(getCue());
		sb.append(", cue_anexo=");
		sb.append(getCue_anexo());
		sb.append(", etapa_real=");
		sb.append(getEtapa_real());
		sb.append(", ano_inicial=");
		sb.append(getAno_inicial());
		sb.append(", seccion=");
		sb.append(getSeccion());
		sb.append(", fecha_nacimiento=");
		sb.append(getFecha_nacimiento());
		sb.append("}");

		return sb.toString();
	}

	public String toXmlString() {
		StringBundler sb = new StringBundler(37);

		sb.append("<model><model-name>");
		sb.append("slcu.model.Alumno");
		sb.append("</model-name>");

		sb.append(
			"<column><column-name>alumnoId</column-name><column-value><![CDATA[");
		sb.append(getAlumnoId());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>escuelaId</column-name><column-value><![CDATA[");
		sb.append(getEscuelaId());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>nombres</column-name><column-value><![CDATA[");
		sb.append(getNombres());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>apellido</column-name><column-value><![CDATA[");
		sb.append(getApellido());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>dni</column-name><column-value><![CDATA[");
		sb.append(getDni());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>cue</column-name><column-value><![CDATA[");
		sb.append(getCue());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>cue_anexo</column-name><column-value><![CDATA[");
		sb.append(getCue_anexo());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>etapa_real</column-name><column-value><![CDATA[");
		sb.append(getEtapa_real());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>ano_inicial</column-name><column-value><![CDATA[");
		sb.append(getAno_inicial());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>seccion</column-name><column-value><![CDATA[");
		sb.append(getSeccion());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>fecha_nacimiento</column-name><column-value><![CDATA[");
		sb.append(getFecha_nacimiento());
		sb.append("]]></column-value></column>");

		sb.append("</model>");

		return sb.toString();
	}

	private static ClassLoader _classLoader = Alumno.class.getClassLoader();
	private static Class<?>[] _escapedModelProxyInterfaces = new Class[] {
			Alumno.class
		};
	private long _alumnoId;
	private long _escuelaId;
	private String _nombres;
	private String _apellido;
	private String _dni;
	private String _originalDni;
	private String _cue;
	private String _cue_anexo;
	private String _etapa_real;
	private int _ano_inicial;
	private String _seccion;
	private Date _fecha_nacimiento;
	private long _columnBitmask;
	private Alumno _escapedModelProxy;
}